var prefix = "/sys/classification"

function addModuleSuccess(mouduleId, moduleTitle, columnCount) {
    var modulesDiv = $($('#module_sample_id').html());
    $(modulesDiv).find('input[name=columnCount]:first').attr('value',columnCount);
    $(modulesDiv).find('div[name=nameSpan]:first').attr('id',mouduleId);
    $(modulesDiv).find('div[name=nameSpan]:first').text(moduleTitle);
    $(modulesDiv).find('button[name=fieldBtn]:first').click(function () {
        selectFields(mouduleId,moduleTitle);
    });
    $(modulesDiv).find('a[name=editHref]:first').click(function () {
        editModule(mouduleId);
    });

    $(modulesDiv).attr('id','module_'+mouduleId);
    $('#categorystep').append(modulesDiv);
}

function editModuleSuccess(mouduleId, moduleTitle, columnCount) {
    $('#'+mouduleId).text(moduleTitle)
}

//分类栏目、字段
function details(categoryId,code,categoryName,enableFlag,description) {
    $('#details').show();
    $('#list').hide();

    $('#parentName').text($('#paerntCategoryName').val());
    $('#categoryId').val(categoryId);
    $('#code').text(code);
    $('#categoryName').text(categoryName);
    $('#enableFlag').text(enableFlag);
    $('#description').text(description);
    //清空字段
    $('#modules_div').empty();
    loadModuleFields(categoryId);
}

function hideDetails() {
    $('#list').show();
    $('#details').hide();
}

//清空分类详情数据
function resetDetailsData() {

}

//加载分类栏目、字段
function loadModuleFields(categoryId) {
    var url = window.API_SERVER_URL + "sys/categoryModule/getListByCategoryId/"+categoryId;
    $.ajax({
		type : "GET",
		headers:PRIVATE_HEADERS,
		url : url,
		data : {},
		async : true,
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function (data) {
	        if(data){
	            $.each(data,function (index,module) {
	               addModuleSuccess(module.id,module.title,module.columnCount);
	               //栏目属性
	                if(module.categoryAttributeList){
	                    $.each(module.categoryAttributeList,function (index,attr) {
	                        addField(module.id,module.title,attr.id,attr.label,attr.renderType,attr.fullLine,attr.rows,attr.datasource,attr.isrequired);
	                    });
	                }
	            });
	        }
	    }
	});
}


//选择字段返回
function selectFieldsBack(moduleId, moduleTitle, fields) {
    if (fields) {
        //筛选去除重名属性
        var fieldIds = '';
        var fieldsArray = new Array();
        var repeatFields = '';
        $.each(fields, function (index, field) {
            if ($('input[name="attrId"][id="' + field.id+'"]').length > 0) {
                if (repeatFields != '') {
                    repeatFields += ',';
                }
                repeatFields += field.label;
            } else {
                if (fieldIds != '') {
                    fieldIds += ',';
                }
                fieldIds += field.id;

                fieldsArray.push(field);
            }


        });

        if (repeatFields != '') {
            layer.msg('栏目中已存在' + repeatFields + ' 不允许重复添加');
        }

        if (fieldIds != '') {
            //提交服务器保存
            $.ajax({
                headers: {"Authorization": token},
                url: window.API_SERVER_URL + "sys/categoryAttribute/saveChoosed",
                type: "post",
                data: {
                    'categoryModuleId': moduleId,
                    'fieldIds': fieldIds
                },
                success: function (r) {
                    if (r.code == 0) {
                        $.each(fieldsArray, function (index, newField) {
                            addField(moduleId, moduleTitle,newField.id, newField.label, newField.renderType, newField.fullLine, newField.rows)
                        });
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        }
    }
}

//添加字段
function addField(moduleId,moduleTitle,fieldId,label, renderType, fullLine, rows, datasource, isrequired) {
    var sampleDom;
    var appendDoms = new Array();
    if('text'==renderType){ //文本框
        sampleDom = $('#text_sample_div').find('table:first').find('tr:first').find('td');
        $.each(sampleDom,function (index,dom) {
           appendDoms.push($(dom).clone());
        });

        $(appendDoms[0]).find('div[name="attrLabel"]:first').text(label);
        if(isrequired == "1"){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('required',"");
        }
        $(appendDoms[1]).find('input[name="attr"]:first').attr('id',fieldId);
        $(appendDoms[1]).find('input[name="attr"]:first').attr('name',fieldId);
    }else if('datetime'==renderType){   //日期时间
        sampleDom = $('#datetime_sample_div').find('table:first').find('tr:first').find('td');
        $.each(sampleDom,function (index,dom) {
            appendDoms.push($(dom).clone());
        });

        $(appendDoms[0]).find('div[name="attrLabel"]:first').text(label);
        if(isrequired == "1"){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('required',"");
        }
        $(appendDoms[1]).find('input[name="attr"]:first').attr('id',"date"+fieldId);
        $(appendDoms[1]).find('input[name="attr"]:first').attr('name',fieldId);
    }else if('rpopwin'==renderType){   //单选弹窗
        sampleDom = $('#datetime_sample_div').find('table:first').find('tr:first').find('td');
        $.each(sampleDom,function (index,dom) {
            appendDoms.push($(dom).clone());
        });

        $(appendDoms[0]).find('div[name="attrLabel"]:first').text(label);
        $(appendDoms[1]).find('input[name="attrId"]:first').attr('id',fieldId);
        $(appendDoms[1]).find('input[name="attrId"]:first').attr('name',fieldId);
        $(appendDoms[1]).find('input[name="attr"]:first').attr('id',fieldId+"Name");
        if("user" == datasource){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('onclick',"openUserPopWin('"+fieldId+"','"+fieldId+"Name',false)");
        }else if("bussiCategory" == datasource || "techCategory" == datasource){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('onclick',"openCategoryPopWin('"+fieldId+"','"+fieldId+"Name')");
        }if("area" == datasource){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('onclick',"openAreaPopWin('"+fieldId+"','"+fieldId+"Name')");
        }if("baseCi" == datasource){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('onclick',"openCiPopWin('"+fieldId+"','"+fieldId+"Name',false)");
        }if("customer" == datasource){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('onclick',"openCustomerPopWin('"+fieldId+"','"+fieldId+"Name',false)");
        }
        if(isrequired == "1"){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('required',"");
        }
        $(appendDoms[1]).find('input[name="attr"]:first').attr('name',fieldId+"Name");
    }else if('select'==renderType){   //下拉框
        sampleDom = $('#select_sample_div').find('table:first').find('tr:first').find('td');
        $.each(sampleDom,function (index,dom) {
            appendDoms.push($(dom).clone());
        });

        $(appendDoms[0]).find('div[name="attrLabel"]:first').text(label);
        $(appendDoms[1]).find('select[name="attr"]:first').attr('id',fieldId);
        if(isrequired == "1"){
        	$(appendDoms[1]).find('input[name="attr"]:first').attr('required',"");
        }
        $(appendDoms[1]).find('select[name="attr"]:first').attr('id',fieldId);
        $(appendDoms[1]).find('select[name="attr"]:first').attr('name',fieldId);
        
    }else if('textarea'==renderType){   //文本域
        sampleDom = $('#textarea_sample_div').find('table:first').find('tr:first').find('td');
        $.each(sampleDom,function (index,dom) {
            appendDoms.push($(dom).clone());
        });

        $(appendDoms[0]).find('div[name="attrLabel"]:first').text(label);
        if(isrequired == "1"){
        	$(appendDoms[1]).find('textarea:first').attr('required',"");
        }
        $(appendDoms[1]).find('textarea:first').attr('id',fieldId);
        $(appendDoms[1]).find('textarea:first').attr('name',fieldId);
        $(appendDoms[1]).find('textarea:first').attr('rows',(rows && rows>0)?rows:1);
    }

    if(appendDoms.length>0){
        var moduleDom = $('#module_'+moduleId);
        //获取栏目表格行数
        var columnCount = $(moduleDom).find('input[name=columnCount]:first').attr('value');
        var trDom = $(moduleDom).find('table:first').find('tr:last');
        /**
         * 如果没有tr，或者tr已填满td或tr最后一个属性需单独一列，或属性需单独一列，或上个tr的属性需单独一列，则新建tr
         */
        var colspan = $(moduleDom).find('td[name="domTD"]:last').attr('colspan');
        if(trDom.length==0 || $(trDom).find('td').length>=columnCount*2 || fullLine=='1' || colspan==columnCount*2-1){
            trDom = $('<tr></tr>');
            $(moduleDom).find('table[name="attrTable"]').append(trDom);
        }
        $.each(appendDoms,function (index,dom) {
            $(trDom).append(dom);
            if(fullLine=='1' && index==1){
                $(dom).attr('colspan',columnCount*2-1);
            }
        });
        if('select'==renderType){   //下拉框
        	selectAddOption(fieldId,datasource,"");
        }else if('datetime'==renderType){   //时间控件
    		laydate.render({
    		  elem: '#date'+fieldId,
    		  type: 'datetime'
    		});
        }
    }
}
